package iconcurrent;

/**
 * @author or2
 * @Description 线程中断状态检测方式, 以及细微区别
 * @create 2021年09月10日 时间: 14:47
 */
public class Interupted {
    public static void main(String[] args) {
        Thread thread = new Thread(() -> {
            for (; ; ) {
//                阻塞状态被中断, 会将中断转换为异常抛出, 然后清除
                /*TimeUnit.SECONDS.sleep(1);*/
            }
        });
        thread.start();

        thread.interrupt();
//        是否被中断, 不清除状态
        System.out.println(thread.isInterrupted());
//        是否被中断, 清除状态 - (静态方法, 作用对象为当前线程)
        System.out.println(thread.interrupted());
//        是否被中断, 清除状态 - 直接类静态调用
        System.out.println(Thread.interrupted());
//        是否被中断, 不清除状态
        System.out.println(thread.isInterrupted());
    }
}
